package org.jsola.hr.vo.attendschedule;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;
import org.jsola.hr.dto.attendschedule.AttendPeriodDTO;

import java.util.List;

/**
 * @author wxz
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【考勤班次】展示对象")
@Data
public class AttendShiftVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    /** 班次名称 */
    @ApiModelProperty(notes = "班次名称", example = "")
    private String name;

    /** 考勤时段 */
    @ApiModelProperty(notes = "考勤时段", example = "")
    private List<AttendPeriodDTO> attendPeriodList;

    @ApiModelProperty(notes = "休息时段", example = "")
    private AttendPeriodDTO restPeriod;

    /**
     * 是否高级设置
     */
    @ApiModelProperty(notes = "是否高级设置;true-是,false-否", example = "")
    private Boolean isAdvanc;

    /** 允许迟到早退 ; 1-允许,0-不允许 */
    @ApiModelProperty(notes = "允许迟到早退 ; 1-允许,0-不允许", example = "")
    private Integer isAllowedLateEarly;

    /** 上班允许迟到(分钟) */
    @ApiModelProperty(notes = "上班允许迟到(分钟)", example = "")
    private Integer lateMinute;

    /** 班允许早退(分钟) */
    @ApiModelProperty(notes = "班允许早退(分钟)", example = "")
    private Integer earlyMinute;

    /** 允许晚走晚到 ; 1-允许,0-不允许 */
    @ApiModelProperty(notes = "允许晚走晚到 ; 1-允许,0-不允许", example = "")
    private Integer isAllowLateLate;

    /** 下班晚走(分钟) */
    @ApiModelProperty(notes = "下班晚走(分钟)", example = "")
    private Integer offWorkLateMinute;

    /** 上班晚到(分钟) */
    @ApiModelProperty(notes = "上班晚到(分钟)", example = "")
    private Integer onWorkLateMinute;

    /** 最早上班打卡时间(分钟) */
    @ApiModelProperty(notes = "最早上班打卡时间(分钟)", example = "")
    private Integer earliestPunchMinute;

    /** 最晚下班打卡时间(分钟) */
    @ApiModelProperty(notes = "最晚下班打卡时间(分钟)", example = "")
    private Integer latestPunchMinute;

    /** 班是否需要打卡 : 1-是,0-否 */
    @ApiModelProperty(notes = "班是否需要打卡 : 1-是,0-否", example = "")
    private Integer afterWorkNeedPunch;

}
